package com.bbz.jvm.core.chapter1.OutOfMemoryError;
/**
 * 虚拟机栈和本地方法栈溢出
 * 
 * 如果线程请求的栈深度大于虚拟机所允许的最大深度，将抛出StackOverflowError异常。
 * 如果虚拟机在扩展栈时无法申请到足够的内存空间，则抛出OutOfMemoryError异常。
 * VM args: -Xss128k
 * VM args 参数说明：-Xss设置栈容量为128k
 * @author Zhang
 *
 */
public class JavaVMStackSOF {

	private int stackLength=1;
	
	public void stackLeak() {
		stackLength++;
		stackLeak();
	}
	public static void main(String args[])throws Throwable{
		JavaVMStackSOF oom=new JavaVMStackSOF();
		try {
			oom.stackLeak();
		} catch (Exception e) {
			System.out.println("stack length:"+ oom.stackLength);
			throw e;
		}
	}
}
